---
title: SAIF.Business.View.Policy overview
summary: High-level purpose, scope, and responsibilities for this library.
status: draft
owner: SAIF Corporation
last_reviewed: 2026-08-21
library: SAIF.Business.View.Policy
reference_type: embedded
---

# SAIF.Business.View.Policy overview

> **Documentation context:** Front-End Application Component
> **Documented via:** LegalMaintenance (`LegalMaintenance/LegalMaintenance.vbproj`)

`SAIF.Business.View.Policy` is a read-only business/domain library in the SAIF BOF stack that provides a policy-centric view of Oracle policy data for consumers such as `LegalMaintenance` and `SAIF.Business.Claim.Legal`.* Its aggregate root, `clsPolicyData`, exposes policy header, period, address, agency, team, and association data, and it is the only library in this documentation run that reaches two independent databases: Oracle (primary) and SQL Server, referred to internally as "BDS" (secondary, security-only).

## Purpose
- Provide a read-only projection of policy data for downstream consumers: every `IBusinessCriteria` implementation returns an empty statement or throws for `CreateSQL`, `InsertSQL`, `UpdateSQL`, and `DeleteSQL` ([BR-VP-027](business-rules.md#br-vp-027-createinsertupdatedelete-sql-are-invalid)); only `RetrieveSQL` and dedicated retrieval-only SQL properties carry statements.*
- Serve as the entry point for consumers via `clsPolicyData.GetPolicyData`, lazily populating child collections for agency, address, periods, team, trading-as names, and associations.*
- Maintain both the current policy-to-policy association model and the older, obsolete affiliate model side by side.
- Enforce policy-level authorization and per-user-type policy-list retrieval through `clsPolicySecurity`, the library's sole authorization boundary ([BR-VP-003](business-rules.md#br-vp-003-secure-policy-requires-ad-authorization), [BR-VP-005](business-rules.md#br-vp-005-access-granted-per-user-access-level-matrix)).
- Apply demo-user data masking to names, addresses, and identifiers inside the business objects themselves ([BR-VP-010](business-rules.md#br-vp-010-demo-users-see-masked-data)).*

## Responsibilities
- Retrieve and assemble a complete policy view (`clsPolicyData` and its child objects) from Oracle via the BOF DPI.
- Authorize user access to a given policy and produce the accessible-policy list for a user via a secondary SQL Server ("BDS") connection.
- Classify and expose policy association data (current model) and affiliated-policy data (legacy, obsolete model).
- Convert and expose policy status, market type, and user access-level codes.

## Key components
- `clsPolicyData`: aggregate root for a policy view.
- `clsPolicySecurity`: authorization boundary; owns the secondary SQL Server (BDS) data layer.
- `Associations/` + `PolicyAssociations.vb`: current policy relationship model.
- `clsAffiliatedPolicy` / `clsAffiliatedPolicyCollection`: legacy affiliate model (`<Obsolete>`).
- `clsPolicyPeriod(Collection)`, `clsPolicyAddress`, `clsAgency`, `clsTeamAssignment(Collection)`, `clsTradingAs(Collection)`: policy-adjacent entities.

## Related documentation
- [Index](index.md)
- [Architecture](architecture.md)
- [Dependencies](dependencies.md)
- [Configuration](configuration.md)
- [Operations and processes](operations-processes.md)
- [Business rules](business-rules.md)
- [Security and authorization](security-authorization.md)
- [Database tables](database-tables.md)
- [SQL catalog](sql/index.md)
- [Procedures](procedures/index.md)
- [API reference](api/index.md)

> **Note:** Statements marked with * were inferred from code structure, naming conventions, or
> contextual evidence where direct confirmation was not available in source artifacts. Statements
> marked with ** could not be confirmed; treat as unknown until verified.

## Sources
- `SAIF.Business.View.Policy/clsPolicyData.vb`
- `SAIF.Business.View.Policy/clsPolicySecurity.vb`
- `SAIF.Business.View.Policy/clsPolicyPeriod.vb`
- `SAIF.Business.View.Policy/clsTeamAssignment.vb`
- `SAIF.Business.View.Policy/clsTeamAssignmentCollection.vb`
- `SAIF.Business.View.Policy/Associations/clsPolicyAssociation.vb`
- `SAIF.Business.View.Policy/SAIF.Business.View.Policy.vbproj`
